--[[
    函数：yjx_search_update_build_status
    功能：更新 search 的缓存建立状态
    返回：更新结果 0 标记无错误
--]]
-- 记录线下 db 缓存建立的开始时间和结束时间
local BUILD_CACHE_START = "yjx_build_cache_start"
local BUILD_CACHE_END = "yjx_build_cache_end"


-- ########################################################
local ret = ''
-- 是否强制更新缓存状态
local foce_update = tonumber(ARGV[1]) or 0
local build_start = ARGV[2]
local build_end = ARGV[3]

if(foce_update == 1)
then
    -- 清空 config 中记录缓存状态的 key
    redis.call("del", BUILD_CACHE_START);
    redis.call("del", BUILD_CACHE_END);
end

-- 如果当前 db 不存在 build Start, 且传入值存在 build_start  则直接设置 build start
local c = redis.call('exists',BUILD_CACHE_START)
if(c~=1 and build_start)
then
    redis.call('set',BUILD_CACHE_START, build_start)
    redis.call('del',BUILD_CACHE_END)
end

-- 提取build Start 值 与传入值对比, 若相同再设置build end 值
local s = redis.call('get',BUILD_CACHE_START)
if(s and (build_start==s) and build_end)
then
    redis.call('set',BUILD_CACHE_END, build_end)
else
    ret = 1
end



-- ########################################################
return ret